package com.yida.gwj.deposit.mapper;

import com.yida.gwj.deposit.domain.GwjDepositBusiness;
import com.yida.gwj.deposit.domain.dto.*;

import java.util.Collection;
import java.util.List;

/**
 * 业务（缴存业务管理）Mapper接口
 *
 * @author lqq
 * @date 2023-01-09
 */
public interface GwjDepositBusinessMapper {
	/**
	 * 查询业务（缴存业务管理）
	 *
	 * @param bizId 业务（缴存业务管理）主键
	 * @return 业务（缴存业务管理）
	 */
	public GwjDepositBusiness selectGwjDepositBusinessByBizId(Long bizId);

	/**
	 * 查询业务（缴存业务管理）列表
	 *
	 * @param gwjDepositBusiness 业务（缴存业务管理）
	 * @return 业务（缴存业务管理）集合
	 */
	public List<GwjDepositBusiness> selectGwjDepositBusinessList(GwjDepositBusiness gwjDepositBusiness);

	/**
	 * 新增业务（缴存业务管理）
	 *
	 * @param gwjDepositBusiness 业务（缴存业务管理）
	 * @return 结果
	 */
	public int insertGwjDepositBusiness(GwjDepositBusiness gwjDepositBusiness);

	/**
	 * 修改业务（缴存业务管理）
	 *
	 * @param gwjDepositBusiness 业务（缴存业务管理）
	 * @return 结果
	 */
	public int updateGwjDepositBusiness(GwjDepositBusiness gwjDepositBusiness);

	/**
	 * 删除业务（缴存业务管理）
	 *
	 * @param bizId 业务（缴存业务管理）主键
	 * @return 结果
	 */
	public int deleteGwjDepositBusinessByBizId(Long bizId);

	/**
	 * 批量删除业务（缴存业务管理）
	 *
	 * @param bizIds 需要删除的数据主键集合
	 * @return 结果
	 */
	public int deleteGwjDepositBusinessByBizIds(Long[] bizIds);

	/**
	 * 查询缴存清册
	 * @param bizId 业务主键
	 * @return
	 */
	GwjDepositRecordTopDTO getDepositRecord(Long bizId);

	/**
	 * 查询小区分户清册
	 * @param bizId 业务主键
	 * @return
	 */
	GwjCommunityHouseholdRecordTopDTO getCommunityHouseholdRecord(Long bizId);

	/**
	 * 分页查询业务
	 * @param gwjDepositBusiness
	 * @return
	 */
	List<GwjDepositPageDTO> selectGwjDepositBusinessPage(GwjDepositBusiness gwjDepositBusiness);
}
